有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java如何在所有JUnit测试中集成Spring Instrument javaagent

我正在一个大型项目上编写单元测试,我需要将JVM参数传递给它,这些是我在该项目的Eclipse运行配置中内置的JVM参数:

--module-path lib/javafx-sdk-13.0.2/lib --add-modules=javafx.controls
-javaagent:lib/aspectjweaver-1.9.5.jar 
-javaagent:lib/spring-instrument-5.2.3.RELEASE.jar

我的问题是,我需要为每个JUnit测试或测试序列添加这些参数。有更好的方法吗?有什么办法不必在我创建的每个新测试中手动添加这些参数

******编辑******

这也有一个讨厌的副作用,那就是根本不让我建立这个项目!Maven不使用我的定制JUnit run config来运行应用程序的整个测试集(这很好,因为我在其中设置了JVM参数),而是使用它自己的配置,这显然是失败的,因为参数不在那里。这是一个巨大的问题,有没有办法将这些JVM参数直接“硬编码”到POM中

******编辑2******

这是我POM中的Spring Boot Maven插件配置。xml文件:

<plugin>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-maven-plugin</artifactId>
    <executions>
        <execution>
            <goals>
                <goal>repackage</goal>
            </goals>
        </execution>
    </executions>
    <configuration>
        <jvmArguments>
            --module-path lib/javafx-sdk-13.0.2/lib 
            --add-modules=javafx.controls
            -javaagent:lib/aspectjweaver-1.9.5.jar 
            -javaagent:lib/spring-instrument-5.2.3.RELEASE.jar
        </jvmArguments>
    </configuration>
</plugin>

*******解决方案******

添加Maven Surefire插件并以这种方式设置,解决了这个问题:

<plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-surefire-plugin</artifactId>
            <executions>
                <execution>
                    <goals>
                        <goal>test</goal>
                    </goals>
                </execution>
            </executions>
            <configuration>
                <argLine>
                    --module-path lib/javafx-sdk-13.0.2/lib 
                    --add-modules=javafx.controls
                    -javaagent:lib/aspectjweaver-1.9.5.jar 
                    -javaagent:lib/spring-instrument-5.2.3.RELEASE.jar
                </argLine>
            </configuration>
          </plugin>

谢谢


共 (0) 个答案